package testClasses.xstream;

import java.util.HashMap;

import com.jme3.scene.Spatial;

import model.IModel;
import utilities.Key;
import view.EViewList;
import view.AbstractView;
import view.View;
import controller.AbstractController;
import controller.IController;
import eventManager.EventManager;
import eventManager.IEventData;
import eventStrategies.IEventResponse;
import events.ECodeEventList;

public class FakeController implements IController {

	private AbstractController controller;
	private int testDatum;
	
	public FakeController(EventManager eventManager) {
		this.controller = new AbstractController(eventManager);		
	}
	
	public void setTestDatum(int datum) {
		this.testDatum = datum;
	}
	
	public int getTestDatum() {
		return this.testDatum;
	}

	protected void loadCustomEventStrategies() {
		
		
	}

	public void setModel(IModel model) {
		controller.setModel(model);
	}

	public Key getKey() {
		return controller.getKey();
	}
	
	public void setKey(Key key) {
		controller.setKey(key);
	}

	public HashMap<ECodeEventList, IEventResponse> getEvents() {
		return controller.getEvents();
	}

	public void loadStrategy(IEventResponse strategy) {
		controller.loadStrategy(strategy);
	}

	public void processOutgoingEvent(IEventData event) {
		controller.processOutgoingEvent(event);
	}

	public void handleEvent(IEventData event) {
		controller.handleEvent(event);
	}

	public void setSpatial(Spatial spatial) {
		controller.setSpatial(spatial);
	}

	public HashMap<EViewList, AbstractView> getViews() {
		return controller.getViews();
	}

}
